home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / java / awt / TextComponent$AccessibleAWTTextComponent.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  3.6 KB  |  212 lines

  1. package java.awt;
  2.  
  3. import java.awt.event.TextEvent;
  4. import java.awt.event.TextListener;
  5. import java.text.BreakIterator;
  6. import javax.accessibility.AccessibleRole;
  7. import javax.accessibility.AccessibleState;
  8. import javax.accessibility.AccessibleStateSet;
  9. import javax.accessibility.AccessibleText;
  10. import javax.swing.text.AttributeSet;
  11.  
  12. public class TextComponent$AccessibleAWTTextComponent extends Component.AccessibleAWTComponent implements AccessibleText, TextListener {
  13.    private static final long serialVersionUID = 3631432373506317811L;
  14.    private static final boolean NEXT = true;
  15.    private static final boolean PREVIOUS = false;
  16.    // $FF: synthetic field
  17.    final TextComponent this$0;
  18.  
  19.    public TextComponent$AccessibleAWTTextComponent(TextComponent var1) {
  20.       super(var1);
  21.       this.this$0 = var1;
  22.       var1.addTextListener(this);
  23.    }
  24.  
  25.    public void textValueChanged(TextEvent var1) {
  26.       Integer var2 = this.this$0.getCaretPosition();
  27.       this.firePropertyChange("AccessibleText", (Object)null, var2);
  28.    }
  29.  
  30.    public AccessibleStateSet getAccessibleStateSet() {
  31.       AccessibleStateSet var1 = super.getAccessibleStateSet();
  32.       if (this.this$0.isEditable()) {
  33.          var1.add(AccessibleState.EDITABLE);
  34.       }
  35.  
  36.       return var1;
  37.    }
  38.  
  39.    public AccessibleRole getAccessibleRole() {
  40.       return AccessibleRole.TEXT;
  41.    }
  42.  
  43.    public AccessibleText getAccessibleText() {
  44.       return this;
  45.    }
  46.  
  47.    public int getIndexAtPoint(Point var1) {
  48.       return this.this$0.getIndexAtPoint(var1);
  49.    }
  50.  
  51.    public Rectangle getCharacterBounds(int var1) {
  52.       return this.this$0.getCharacterBounds(var1);
  53.    }
  54.  
  55.    public int getCharCount() {
  56.       return this.this$0.getText().length();
  57.    }
  58.  
  59.    public int getCaretPosition() {
  60.       return this.this$0.getCaretPosition();
  61.    }
  62.  
  63.    public AttributeSet getCharacterAttribute(int var1) {
  64.       return null;
  65.    }
  66.  
  67.    public int getSelectionStart() {
  68.       return this.this$0.getSelectionStart();
  69.    }
  70.  
  71.    public int getSelectionEnd() {
  72.       return this.this$0.getSelectionEnd();
  73.    }
  74.  
  75.    public String getSelectedText() {
  76.       String var1 = this.this$0.getSelectedText();
  77.       return var1 != null && !var1.equals("") ? var1 : null;
  78.    }
  79.  
  80.    public String getAtIndex(int var1, int var2) {
  81.       if (var2 >= 0 && var2 < this.this$0.getText().length()) {
  82.          switch (var1) {
  83.             case 1:
  84.                return this.this$0.getText().substring(var2, var2 + 1);
  85.             case 2:
  86.                String var6 = this.this$0.getText();
  87.                BreakIterator var7 = BreakIterator.getWordInstance();
  88.                var7.setText(var6);
  89.                int var8 = var7.following(var2);
  90.                return var6.substring(var7.previous(), var8);
  91.             case 3:
  92.                String var3 = this.this$0.getText();
  93.                BreakIterator var4 = BreakIterator.getSentenceInstance();
  94.                var4.setText(var3);
  95.                int var5 = var4.following(var2);
  96.                return var3.substring(var4.previous(), var5);
  97.             default:
  98.                return null;
  99.          }
  100.       } else {
  101.          return null;
  102.       }
  103.    }
  104.  
  105.    private int findWordLimit(int var1, BreakIterator var2, boolean var3, String var4) {
  106.       int var5 = var3 ? var2.following(var1) : var2.preceding(var1);
  107.  
  108.       for(int var6 = var3 ? var2.next() : var2.previous(); var6 != -1; var6 = var3 ? var2.next() : var2.previous()) {
  109.          for(int var7 = Math.min(var5, var6); var7 < Math.max(var5, var6); ++var7) {
  110.             if (Character.isLetter(var4.charAt(var7))) {
  111.                return var5;
  112.             }
  113.          }
  114.  
  115.          var5 = var6;
  116.       }
  117.  
  118.       return -1;
  119.    }
  120.  
  121.    public String getAfterIndex(int var1, int var2) {
  122.       if (var2 >= 0 && var2 < this.this$0.getText().length()) {
  123.          switch (var1) {
  124.             case 1:
  125.                if (var2 + 1 >= this.this$0.getText().length()) {
  126.                   return null;
  127.                }
  128.  
  129.                return this.this$0.getText().substring(var2 + 1, var2 + 2);
  130.             case 2:
  131.                String var7 = this.this$0.getText();
  132.                BreakIterator var8 = BreakIterator.getWordInstance();
  133.                var8.setText(var7);
  134.                int var9 = this.findWordLimit(var2, var8, true, var7);
  135.                if (var9 != -1 && var9 < var7.length()) {
  136.                   int var10 = var8.following(var9);
  137.                   if (var10 != -1 && var10 < var7.length()) {
  138.                      return var7.substring(var9, var10);
  139.                   }
  140.  
  141.                   return null;
  142.                }
  143.  
  144.                return null;
  145.             case 3:
  146.                String var3 = this.this$0.getText();
  147.                BreakIterator var4 = BreakIterator.getSentenceInstance();
  148.                var4.setText(var3);
  149.                int var5 = var4.following(var2);
  150.                if (var5 != -1 && var5 < var3.length()) {
  151.                   int var6 = var4.following(var5);
  152.                   if (var6 != -1 && var6 < var3.length()) {
  153.                      return var3.substring(var5, var6);
  154.                   }
  155.  
  156.                   return null;
  157.                }
  158.  
  159.                return null;
  160.             default:
  161.                return null;
  162.          }
  163.       } else {
  164.          return null;
  165.       }
  166.    }
  167.  
  168.    public String getBeforeIndex(int var1, int var2) {
  169.       if (var2 >= 0 && var2 <= this.this$0.getText().length() - 1) {
  170.          switch (var1) {
  171.             case 1:
  172.                if (var2 == 0) {
  173.                   return null;
  174.                }
  175.  
  176.                return this.this$0.getText().substring(var2 - 1, var2);
  177.             case 2:
  178.                String var7 = this.this$0.getText();
  179.                BreakIterator var8 = BreakIterator.getWordInstance();
  180.                var8.setText(var7);
  181.                int var9 = this.findWordLimit(var2, var8, false, var7);
  182.                if (var9 == -1) {
  183.                   return null;
  184.                } else {
  185.                   int var10 = var8.preceding(var9);
  186.                   if (var10 == -1) {
  187.                      return null;
  188.                   }
  189.  
  190.                   return var7.substring(var10, var9);
  191.                }
  192.             case 3:
  193.                String var3 = this.this$0.getText();
  194.                BreakIterator var4 = BreakIterator.getSentenceInstance();
  195.                var4.setText(var3);
  196.                var4.following(var2);
  197.                int var5 = var4.previous();
  198.                int var6 = var4.previous();
  199.                if (var6 == -1) {
  200.                   return null;
  201.                }
  202.  
  203.                return var3.substring(var6, var5);
  204.             default:
  205.                return null;
  206.          }
  207.       } else {
  208.          return null;
  209.       }
  210.    }
  211. }
  212.